home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 4
/
Aminet 4 - November 1994.iso
/
aminet
/
util
/
boot
/
magicword1_1.lha
/
MagicWord1.1
/
MagicWord.dok
< prev
next >
Wrap
Text File
|
1994-06-25
|
16KB
|
274 lines
Anleitung zu MagicWord V1.1
---------------------------
(c) 1992/93/94
Autor: Urs Fleisch
Leimatstr. 38
CH-9000 St. Gallen
E-mail: ufleisch@stud.ee.ethz.ch
Dieses Programm ist Public Domain, kann und sollte daher weitergegeben
werden, jedoch immer mit dieser Anleitung!
V1.1: Ab OS 2.0: MagicWord läuft als Commodity, Unterstützung von
ToolTypes und Workbench-Argumenten, Application-Window, Icon wird
geschrieben.
MagicWord ist ein universelles Wortersetzungs- und Makroprogramm. Im
Gegensatz zu Einzellösungen in verschiedenen Textverarbeitungsprogrammen
funktioniert MagicWord mit nahezu allen Textverarbeitungen, Editoren und
anderen Programmen. Statt nun in jeder Textverarbeitung die Makros (falls
vorhanden) zu programmieren, ist es einfacher, dies einmal mit MagicWord zu
tun, zumal seine Makros auch mit künftigen Programmen zusammenarbeiten.
Dem Einsatz setzen nur die Ideen des Benutzers Grenzen.
Diese Vielseitigkeit lässt sich vor allem mit Wortersetzung nutzen. So
kann man z.B. mit MagicWord durch Eintippen von \adr in jeder
Textverarbeitung seine Adresse auf den Bildschirm bringen. So sind auch
Einsätze als kleine Datenbank möglich, da man mittels Schlüsselwörtern auf
grössere Informationen Zugriff erhält. Mittels Hashing wird dieser Zugriff
blitzschnell und für den Anwender unbemerkbar.
MagicWord kann von CLI/Shell oder Workbench aus gestartet werden. Vom CLI
aus kann optional noch der Filename einer Makrodatei übergeben werden,
welche dann automatisch geladen wird (Kickstart 1.3). Von der Workbench
aus kann MagicWord auch zusammen mit Icons von MagicWord-Dateien oder durch
Starten einer MagicWord-Datei geladen werden (OS 2.0). MagicWord benötigt
keine Dateien auf der Systemdiskette. Jedoch wird, falls sich die
arp.library oder bei OS 2.0 die asl.library im LIBS:-Verzeichnis befindet,
der ARP- bzw. der ASL-Filerequester für Lade- und Speicheroperationen
verwendet. Hat man keine arp.library bzw. asl.library, so muss man halt
ohne komfortablen Filerequester auskommen; das Programm läuft aber auch so
problemlos.
Ab OS 2.0 funktioniert MagicWord als Commodity, d.h. sein Verhalten ist
per ToolTypes konfigurierbar, das Programm kann unsichtbar im Hintergrund
arbeiten und sein Fenster beim Betätigen des HotKey öffnen. Es stehen die
üblichen Commodity-ToolTypes zur Verfügung: Beim Starten des Programms
erscheint das MagicWord-Fenster nur, wenn CX_POPUP=YES gesetzt ist.
Ansonsten passiert nichts auf dem Bildschirm. Das Programm wartet nun auf
die Betätigung des HotKey. Dieser ist in der Voreinstellung "Alt links -
Control - m". Bei Betätigung dieser Tastenkombination erscheint das
MagicWord-Fenster. Schliesst man das Fenster wieder, so ist MagicWord
immer noch im Speicher und kann jederzeit mit dem HotKey aufgerufen werden.
Beenden kann man das Programm mit dem Menupunkt "Project/Quit", durch
nochmaliges Starten bei offenem Fenster oder mit Kill im
Commodities-Exchange-Programm.
Die HotKey-Tastenkombination und die Priorität des Commodity können über
die ToolTypes eigenen Bedürfnissen angepasst werden. Die Schlüsselwörter
lauten: "CX_POPKEY" und "CX_PRIORITY". Die Voreinstellungen sind
"CX_POPKEY=lalt control m" und "CX_PRIORITY=0". "CX_POPKEY" kann über die
übliche Commodities-Syntax eingestellt werden, also z.B. shift, alt, caps,
control, lshift, rshift, lalt, ralt, lcommand, rcommand usw. Der aktive
HotKey wird in der Titelzeile des MagicWord-Fensters angezeigt.
"CX_PRIORITY" kann von -128 bis 127 eingestellt werden. Mit dem ToolType
"CX_POPUP=YES" kann erreicht werden, dass das MagicWord-Fenster auch beim
Start als Commodity sofort erscheint. Nachdem man das Fenster geschlossen
hat, kann es wieder über den HotKey aufgerufen werden. Die Voreinstellung
ist hier "CX_POPUP=NO". Ein weiteres ToolType ist "FILE=Filename". Damit
kann der Name einer Makrodatei angegeben werden, welche immer beim Start
des Programms geladen werden soll.
Bei ungültigen ToolTypes werden die Voreinstellungen benützt. Die
ToolTypes können auch beim Start von der Shell oder einem Script (z.B.
s:user-startup) übergeben werden, so z.B. 'Run >NIL: MagicWord
CX_POPKEY="control f10" CX_PRIORITY=1 FILE=defs.mw'. Hier wirkt "CX_POPUP"
als Schalter, d.h. die Angabe "CX_POPUP" (ohne "=YES"!) bewirkt ein
Erscheinen des MagicWord-Fensters.
MagicWord ein Fenster mit halber Screen-Höhe. Im Fenster ist zunächst
nichts als der Cursor sichtbar, mit dem editiert werden kann. Dem Benutzer
stehen folgende Menü-Funktionen zur Verfügung:
Project/Open: Makrodatei laden
Project/Save As: Im Speicher befindliche Makros abspeichern
Project/Hide: Versteckt das Fenster, falls MagicWord als Commodity läuft.
Project/Quit: Programm verlassen
Macros/New: Ein neues Makro eingeben
Macros/Delete: Ein Makro löschen
Macros/Delete All: Alle Makros im Speicher löschen
Macros/Show: Die im Speicher befindlichen Makros anzeigen
Nun will ich genauer auf die einzelnen Menü-Funktionen eingehen.
Macros/New: Diese Funktion wird wohl als erste benutzt werden. Sie
erlaubt es, für ein neues Makro Tastendrücke aufzunehmen. Zuerst wird man
nach dem Namen des Makros gefragt. Dieser Name kann Buchstaben, Zahlen und
Symbole enthalten, jedoch keine Leerschläge und kein Fluchtsymbol "\"
(Backslash), denn dieses markiert den Beginn eines Makronamens.
Großschreibung wird nicht berücksichtigt. Durch Drücken von Backspace oder
Del kann die Eingabe gelöscht werden, abgeschlossen wird sie mit Return
bzw. Enter. Nun fordert das Programm dazu auf, mit dem Aufzeichnen der
Tastendrücke zu beginnen. Von diesem Zeitpunkt an merkt sich MagicWord
alle Tasteneingaben. Die Aufnahme wird durch Wahl des neuen Menüpunktes
Record/finished beendet. Damit ist das Makro gespeichert und kann
aufgerufen werden. Hierzu tippt man zuerst das Fluchtsymbol \ (Backslash)
und dann den vorher eingegebenen Makronamen ein.
Zur Verdeutlichung soll nun ein Beispiel folgen: Man wählt den Menüpunkt
Macros/New (bzw. drückt Amiga rechts-N). Es erscheint die Meldung "Input
new word!". Wir tippen nun "adr" und schliessen mit Return ab. Nun
fordert das Programm zur Tastendruckaufnahme auf. Dies kann in jeder
beliebigen Textverarbeitung geschehen, am sinnvollsten zeichnet man das
Makro aber in der Textverarbeitung auf, mit der man es dann auch benutzen
möchte. Man geht also in die Textverarbeitung und tippt "Hermann
User<RETURN>Bitallee 256<RETURN>1024 Bytehausen<RETURN>. Dann geht man
zurück zu MagicWord und wählt Record/finished an und es erscheint die
Meldung, die Eingabe sei abgeschlossen. Die Aufnahme muss nicht in einer
Textverarbeitung geschehen, sondern kann auch im MagicWord-Window
geschehen, welches auch einen Editor zur Verfügung stellt. Dieser stellt
aber nicht dieselben Funktionen wie eine Textverarbeitung zur Verfügung, so
dass das Eintippen in einer Textverarbietung für längere Texte immer noch
die bessere Lösung darstellt.
Es werden übrigens bis zu 2000 Tastendrücke pro Makro aufgenommen. Man
muss sich aber im klaren sein, dass z.B. Betätigen der Backspace-Taste
nicht die Makro-Daten editiert, sondern wie jeder andere Tastendruck
aufgenommen und dann auch reproduziert wird.
Nun gehen wir wieder in die Textverarbeitung und tippen "\adr". Und siehe
da: \adr wird gelöscht und durch den vorher eingegebenen Text ersetzt.
Wichtig ist aber, dass die Eingabe fehlerfrei erfolgte. Hat man sich
vertippt, so muss der gesamte Makroname (mit vorangehendem Backslash!)
nochmals eingegeben werden. Abgeschlossen wird die Eingabe durch Drücken
von Space oder Return. Die Makros können auch im MagicWord-Window
ausprobiert werden, also auch hier kann man sich den Gang in eine
Textverarbeitung sparen. Es ist noch anzumerken, dass die Eingabe von
"adr" nicht genügt, da MagicWord das Fluchtsymbol zur Erkennung von Makros
benötigt. Würde jedes getippte Wort mit dem MagicWord-Wortschatz
verglichen, so würde dies bloss die Eingabegeschwindigkeit abbremsen.
Die Makros werden mittels dynamischer Speicheranforderung im RAM des Amiga
gehalten. Ein mit dem Fluchtsymbol beginnendes Wort wird mittels Hashing
mit dem Wortschatz von MagicWord verglichen. Hierbei wird die Position des
Eintrags aus dem Makronamen errechnet. Es wird derselbe
Hashing-Algorithmus angewandt, den auch AmigaDOS zum Finden einer Datei
verwendet. So ist ein schneller Zugriff auf die Makros gewährleistet, auch
wenn viele Makros im Speicher sind. MagicWord setzt der Anzahl der Makros
keine Grenze. Man könnte also den gesamten Arbeitsspeicher mit Makros
füllen.
Macros/Delete: Mit dieser Funktion kann ein im Speicher befindliches Makro
gelöscht werden. Hierbei muss wiederum der Makroname eingegeben werden.
Dieses Makro wird nun, sofern es vorhanden ist, gelöscht. Es ist noch
anzumerken, dass dabei der vom Makro beanspruchte Speicher nicht ans System
zurückgegeben wird. Dies geschieht erst bei Programmende oder bei der
Funktion "Macros/Delete all".
Macros/Delete All: Hiermit werden nach einer Sicherheitsabfrage alle
Makros gelöscht. Es wird auch der gesamte, vom Programm angeforderte
Speicher zurückgeben.
Macros/Show: Es werden die Namen aller definierten Makros ausgegeben.
Dabei werden die Namen in der Reihenfolge ihres Eintrags in der
Hashing-Tabelle angezeigt. Der aufzurufende Text der Makros kann durch
Eingabe des Makronamens (mit Fluchtsymbol!) angesehen werden.
Project/Save As: Wenn man eine Anzahl Makros erstellt hat, so möchte man
sie natürlich nicht mit dem Abschalten des Computers verlieren, sondern
dauerhaft auf Diskette sichern. Diese Funktion speichert sämtliche im
Speicher befindlichen Makros ab. Der Name jedes gespeicherten Makros wird
angezeigt. Wenn MagicWord beim Starten die arp.library oder die
asl.library im LIBS:-Verzeichnis gefunden hat, so kann der Name der
Makrodatei in einem Filerequester eingegeben werden. Andernfalls steht ein
Eingabe-Requester zur Verfügung.
Unter OS 2.0 schreibt MagicWord seine Dateien mit Icons.
Project/Open: So kann man eine abgespeicherte Makrodatei laden. Die Datei
wird wieder mit einem Filerequester oder einem Eingabe-Requester
ausgewählt. Auch hier werden die Namen der geladenen Makros angezeigt.
Die Makros werden zu schon im Speicher befindlichen Makros dazugeladen;
bereits vorhandene Makros gleichen Namens werden ersetzt. Beim Start vom
CLI/Shell kann diese Funktion bereits aufgerufen werden, indem man
MagicWord den Namen der Makrodatei als Parameter übergibt (Kickstart 1.3)
bzw. mit dem FILE-ToolType (OS 2.0).
Ab OS 2.0 ist das MagicWord-Fenster ein Application-Window. Dateien lassen
sich also einfach laden, indem man ihre Icons über das MagicWord-Fenster
zieht.
Project/Hide: (ab OS 2.0) Mit diesem Menupunkt oder durch Schliessen des
Fensters verschwindet das MagicWord-Fenster und erscheint erst wieder bei
Betätigen des HotKey. MagicWord läuft dann einfach im Hintergrund weiter.
Project/Quit: MagicWord kann durch Wahl dieses Menüpunktes verlassen
werden. Danach sind natürlich keine Makros mehr verfügbar.
Damit wären sämtliche Menüfunktionen des Programms besprochen. Nun folgen
noch einige Tips zu MagicWord:
Wird MagicWord zur Wortersetzung verwendet, so können die definierten Worte
in nahezu jeder Textverarbeitung, jedem Editor oder DTP-Programm verwendet
werden. Von vielen getesteten Programmen aus dieser Sparte waren lediglich
"SuperED C" und "Beckertext I" nicht in der Lage, die von MagicWord
generierten Tastendrücke (verkettete InputEvent-Strukturen) aufzunehmen.
Dies kommt wahrscheinlich daher, dass sie die Tasten über Intuition
abfragen (IDCMP-Flags). Intuition ist aber ziemlich vergesslich: Sie kann
nur 4 InputEvents, und somit auch Tastendrücke, behalten. Und damit wären
wir bei der Benutzung von MagicWord für Befehle in einem Programm. Man
könnte in einem Makro Menüpunkte durch ihre entsprechenden Shortcuts
aufrufen. Dies kann aber häufig problematisch werden, da Intuition ,wie
gesagt, nicht sehr viele Tastendrücke verarbeitet. "WordPerfect" hat hier
ein eigenes Konzept (F-Tasten), und somit kommt es auch nicht zu Problemen.
Auch bei "Beckertext II" kann man über die Esc-Befehle die Funktionen des
Programms leicht mit der Tastatur und somit auch mit MagicWord erreichen.
Da diese beiden Programme schon von Haus aus eine leistungsfähige
Makroverwaltung mitbringen, ist es sinnvoller, programmspezifische
Befehlsmakros mit dieser zu erstellen und MagicWord für universelle
Wortersetzungsaufgaben heranzuziehen.
Die Menüfunktionen werden ja meist mit der Maus angewählt. Da auch alle
Mausfunktionen mit der Tastatur simuliert werden können, liegt es auf der
Hand, dass man MagicWord auch als "magische" Maus verwenden kann. Dabei
muss aber auf einige Dinge geachtet werden:
* Der Mauspfeil kann mit einer Amiga-Taste und den Pfeiltasten bewegt
werden. Drückt man solch eine Tastenkombination längere Zeit, so bewegt
sich der Mauspfeil schnell. Einzelne Tastendrücke bewegen ihn aber nur
wenig weit. Drückt man nebst einer Amiga-Taste noch eine Shift-Taste, so
bewegt sich der Pfeil pro Tastendruck viel weiter.
Mit MagicWord sollte man nur einzelne Tastendrücke aufzeichnen. Hierzu
sollte man immer (auch um die rechte Maustaste zu simulieren) nur die linke
Amiga-Taste (lAmiga) drücken, denn die rechte ergibt beim Abspielen des
Makros wiederholte Tastendrücke. Für grosse Mauszeiger-Bewegungen sollte
man lAmiga und Shift drücken.
Bevor man den Mauszeiger bewegen will, sollte man ihn positionieren.
Beispielsweise kann man mit der Maus den Pfeil in die rechte untere
Bildschirmecke bewegen und ihn dann bei der Makroaufnahme mittels
lAmiga-Shift-Pfeil links und lAmiga-Shift-Pfeil rauf in die linke obere
Bildschirmecke bewegen. So ist man sicher, dass der Pfeil in die obere
linke Bildschirmecke gelangt, egal wo er vorher war. Von dieser Position
kann nun der Pfeil ans gewünschte Ziel bewegt werden.
=> Pfeil bewegen: Positionieren und mit lAmiga-Shift-Pfeiltasten bzw.
lAmiga-Pfeiltasten mit einzelnen Tastendrücken den Pfeil bewegen.
* Für das Drücken der linken Maustasten genügt es nicht, lAmiga-lAlt zu
drücken, da beides Qualifier-Tasten sind. Es muss daher noch eine normale
Taste dazu gedrückt werden, am besten eine funktionslose wie F1. Für einen
Doppelklick auf die linke Maustaste muss zwischen den Tastendrücken noch
eine normale Taste allein gedrückt werden.
=> linke Maustaste: lAlt-lAmiga-F1 drücken
Doppelklick: lAlt-lAmiga-F1, F1, lAlt-lAmiga-F1 einzeln hintereinander
drücken.
* Die rechte Maustaste wird wohl nur zur Menüwahl verwendet. Man
positioniert den Pfeil also oben auf der Menüleiste. Dann wird der Pfeil
wie vorher bewegt, nur dass nun zusätzlich noch die rechte Alt-Taste
betätigt wird. Oberhalb des gewünschten Menüpunktes lässt man dann alle
Tasten los. Auch hier sollten die Tasten einzeln gedrückt werden. Grosse
Strecken springt der Mauszeiger durch zusätzliches Drücken der Shift-Taste.
=> Menüwahl mit rechter Maustaste: den Pfeil mit lAmiga-rAlt-Pfeiltasten
auf den gewünschten Menüpunkt lenken, dann Tasten loslassen.
Soviel zur Maussimulation. Nun noch weitere Tips:
* Ein Makro kann im CLI/Shell eine Batch-Datei ersetzen. Hierzu nimmt man
einfach einige oft benötigte Befehle als Makro auf.
* Zum Aufrufen eines Makros muss kein Editor vorhanden sein. Man kann ein
Makro auch blind, z.B. auf den Workbench-Screen, tippen.
* Oft benötigte Adressen können durch Eingabe eines einzigen Wortes, z.B.
des Namens oder Vornamens der betreffenden Person, aufgerufen werden;
ebenso auch der eigene Briefkopf.
* Oft benötigte Anreden u.a. wie Hallo, Sehr geehrter, Viele Grüsse...
müssen auch nicht mehr eingetippt werden.
* Grundgerüste für Programme in verschiedenen Programmiersprachen können
auch als Makro definiert werden, ebenso Rahmen aus Sternen für Titel und
Kommentare.